/**
 * 获取应用是否处于本地开发模式
 */
let getAppDevMode: (appId: string) => boolean;
/**
 * 设置应用的本地开发模式状态
 */
let setAppDevMode: (appId: string, isDev: boolean) => void;

export function setupAppState(state: {
  getAppDevMode: (appId: string) => boolean;
  setAppDevMode: (appId: string, isDev: boolean) => void;
}) {
  getAppDevMode = state.getAppDevMode;
  setAppDevMode = state.setAppDevMode;
}

export function useAppState() {
  return {
    getAppDevMode(appId: string) {
      if (!getAppDevMode) {
        return false;
      }
      return getAppDevMode(appId);
    },
    setAppDevMode: (appId: string, isDev: boolean) => {
      if (!setAppDevMode) return;
      setAppDevMode(appId, isDev);
    },
  };
}
